# -*- coding: utf-8 -*-
#
# author: Tobiasz Siemiński
# creation date: 24.05.2011


from PyQt4 import QtGui, QtCore, Qt
import datetime

#===== STAŁE
WIDTH = 200 #szerokość okna
HEIGHT = 100 #wysokość okna
#=====

class QMyCalendarWidget(QtGui.QWidget):

	def __init__(self, dateEditField):
	        super(QMyCalendarWidget, self).__init__()

		self.setGeometry(0, 0, WIDTH, HEIGHT) #rozmiary
		self.setWindowTitle(u'Wybierz datę') #tytuł
		self.center() #wyśrodkuj
		self.dateEditField = dateEditField
		self.initUI()

	# stworz wszystkie elementy i je dodaj
    	def initUI(self):
		
		self.cal = QtGui.QCalendarWidget(self)
		self.cal.setFirstDayOfWeek(1)
		today = datetime.datetime.today()

		# w QCalendarWidget jest blad, bo nie mozna wybrac dzisiejszej daty :O
		self.cal.setSelectedDate(Qt.QDate(today.year, today.month, today.day-1))

		self.cal.setMinimumDate(Qt.QDate(today.year, today.month, today.day-1)) #zeby nie mozna bylo ustawic daty wczesniejszej niz dzisiaj
        	self.connect(self.cal, QtCore.SIGNAL('selectionChanged()'), self.returnDate)


		grid = QtGui.QGridLayout()
		grid.setSpacing(10)
		grid.addWidget(self.cal)
        	self.setLayout(grid)
	def returnDate(self):
	        date = self.cal.selectedDate()
        	data = str(date.toPyDate())	
		self.dateEditField.setText(data)
		self.hide()

	#wyśrodkuj okno programu
	def center(self):
		""" Funkcja służąca do wyśrodkowania okienka aplikacji na ekranie """
		screen = QtGui.QDesktopWidget().screenGeometry()
		size = self.geometry()
		self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)





